Search systems are widely used in making information available over computer networks, such as the Internet. Some search systems are very general purpose. For example, Internet search systems, such as the BING search system operated by Microsoft, respond to a user request for information by searching many different data sources accessible over the Internet. Other search systems are more focused, searching a more limited set of data sources. For example, a retail store may respond to a user request for information by only searching through data sources with information about its products. Though, even some general purpose search engines, such as BING, are able to search such “verticals” so that the system will respond to a search query identifying a product or other particular item by returning information that relates to instances of that item.
Regardless of the data sources that act as a database that are searched in response to a user query, the amount of information returned in response to a search query may depend on the format of the query submitted. Even for search systems operating on a more limited database of items, a query may be underspecified such that more items in the database match the query than a user desires to review. In some scenarios, the results of a search query may be so extensive that they cannot be easily presented to a user at one time. Though some users in some scenarios prefer to browse through a large result set, many users in many scenarios prefer to have the search system return a single or a small number of highly relevant search results.
In some scenarios, a user, upon receiving a large number of results in response to a query, may provide additional information to the search system to more narrowly define the search query. The refinement may be based on simply adding more qualifiers to the query, such as by adding terms to a search string. Though, some systems are “faceted” to facilitate narrowing a search query.
In a faceted search system, a search is conducted in a database in which attributes about the items have been predefined. Values for the attributes may be specified for each item in the database. To narrow a search, the user may be presented with options on a user interface to limit the search results to only those items having a specific value, or range of values, for an attribute.